Certain user productivity features, applications, add-ons, and/or upgrades may not be available to business applications because they may have outdated or legacy features and/or older user interface (UI) components. A complete upgrade of the business application must be performed to update the business application with a new graphical user interface (GUI) or new features. In some instances, however, the upgraded features are only a small portion of the full set of features available through the application. The upgraded features may also only be used by a small number of users relative to the total number of users of the business application within a business organization. A particular user may also prefer a certain layout or functionality associated with an existing business application but still be interested in certain newer features. Different users with different roles, preferences, or interests may be interested in different features when using the business application. Further, in some cases, the newer features or UI components may be provided by third party services and may not be immediately compatible with an existing business application.
In some computing models, resources such as software and storage space are accessed by clients locally at, for example, a client's desktop computer. The software may be stored and executed from the client's local memory, and further upgrades or features of the software are provided by installing new versions of the software directly on the client computer. Likewise, the client computer may utilize only a local hard disk drive for storage space. The increased use of high bandwidth networks and data connections, as well as high capacity data storage servers, has resulted in the implementation of new and alternative computing models, such as cloud computing solutions. In cloud computing solutions, resources, services, enhanced functionality, or software may be provided to a client computer across a network. Cloud computing models may also be used to provide shared access and remote storage of data to users. In cloud computing solutions, computing resources are provided as hosted services across a network, such as the Internet.
End users of software applications may frequently work in a corporate environment with an information technology (IT) department. Improvements in the end users' productivity may require involvement of existing IT maintenance and administration processes. For example, upgrades to the software applications may be provided using on-premise deployment models involving installation of a complete software package provided by an existing IT department. The end user may be limited to software versions that have been installed by the IT department if the end user's employer has not upgraded to more up-to-date versions of the application. In particular, end users that work in heterogeneous environments may interact with other end users that use different versions of various applications. Certain end users may use web application user interface technology when interacting with other systems or older versions of a front-end enterprise portal. The ever growing and changing demands of businesses may dictate a need or desire for quick updates and release of new features or applications from software developers. In some instances, an older version of an application is used because the end users' employer may not have adopted the newest version. Accordingly, some end users of a particular application may be forced to interface with other end users of the particular application using different versions of the same application. Further, the end user's productivity may be limited by the lack of enhanced functionality and configuration options of the application. Users outside of the end user's IT environment may work with applications (similar to the end user's application) that have a particular configuration of the application based on the users' roles within the working environment. These configurations and preferences implemented by other users may be inaccessible to the user or may require a complete software upgrade due to the restrictions inherent in an existing corporate IT infrastructure.